comunidadfandomcom-20200215-history
Módulo:Usoimagen
-- - Este módulo se utiliza en la plantilla Usoimagen, tener cuidado al modificar ya que de el depende la perfecta categorización de las imágenes en Central. - Ultima actualización: 27/12/2018 - Autor original: BranDaniMB local p = {} ------------------------------------------------------------------------ ----------------------- Funciones internas ----------------------------- ------------------------------------------------------------------------ -- Agrega el texto a mostrar al wikitexto. Usado el estilo de avisos de FANDOM. function p.formato(str) local wikitext = " " .. str .. " " return wikitext end -- Verifica si el texto agregado es nulo, vacio o es un parámetro de la plantilla. function p.isempty(s) if s nil or p.trim(s) "" or string.find(s, " }") ~= nil then return true end return false end -- Elimina espacios en blanco antes y después function p.trim(s) if type(s) "string" then return (s:gsub("^%s*(.-)%s*$", "%1")) else return false end end -- Obtiene los datos según se requiera. function p.get(class, index) local data = { categories = { ayuda = "Categoría:Ayuda/Imágenes", blogs = "Categoría:Imágenes de Blogs", comunidades = "Categoría:Descripciones de comunidades/Imágenes", default = "Categoría:Imágenes", spotlights = "Categoría:Imágenes de Spotlights", sin_uso = "Categoría:Imágenes en espera de uso", usuario = "Categoría:Imágenes de página de usuario", movil = "Categoría:Imágenes de portada en móviles" }, texts = { ayuda = "Esta imagen fue subida para ser usada en una página de ayuda.", blogs = "Esta imagen fue subida para ser usada en una entrada de blog.", comunidades = "Esta imagen fue subida para ser usada en una página de descripción de comunidades.", default = "Esta imagen fue subida para uso general.", spotlights = "Esta imagen fue subida para una solicitud de Spotlights.", sin_uso = "Esta imagen se ha subido recientemente y está en espera de uso.", usuario = "Esta imagen fue subida para ser usada en el espacio de nombre de usuario.", movil = "Esta imagen fue subida para ser usada en la portada de dispositivos móviles.Archivo:"..mw.title.getCurrentTitle().text.."" } } local output = dataclassindex -- Verifica que lo devuelto sea diferente a nulo, se interpreta que si el dato es nulo, el parámetro enviado es incorrecto y se agrega a la respectiva categoría para ser solucionado. if output nil then if class "categories" then return "Categoría:Imágenes mal categorizadas" elseif class "texts" then return "Esta imagen esta mal categorizada, visite la página de la plantilla para saber más." end end return output end ------------------------------------------------------------------------ ----------------------- Funciones externas ----------------------------- ------------------------------------------------------------------------ function p.Usoimagen(frame) -- Obtiene los datos, hasta un máximo de 5. local cat1 = frame.args1 local cat2 = frame.args2 local cat3 = frame.args3 local cat4 = frame.args4 local cat5 = frame.args5 -- Verifica la existencia de los parámetros empezando por el máximo, evalua los datos y retorna el wikitext de la plantilla junto a las categorías. if not p.isempty(cat5) and not p.isempty(cat4) and not p.isempty(cat3) and not p.isempty(cat2) and not p.isempty(cat1) then cat1 = mw.ustring.lower(cat1) cat2 = mw.ustring.lower(cat2) cat3 = mw.ustring.lower(cat3) cat4 = mw.ustring.lower(cat4) cat5 = mw.ustring.lower(cat5) return p.formato(p.get("texts", cat1)) .. p.get("categories", cat5) .. p.get("categories", cat4) .. p.get("categories", cat3) .. p.get("categories", cat2) .. p.get("categories", cat1) elseif not p.isempty(cat4) and not p.isempty(cat3) and not p.isempty(cat2) and not p.isempty(cat1) then cat1 = mw.ustring.lower(cat1) cat2 = mw.ustring.lower(cat2) cat3 = mw.ustring.lower(cat3) cat4 = mw.ustring.lower(cat4) return p.formato(p.get("texts", cat1)) .. p.get("categories", cat4) .. p.get("categories", cat3) .. p.get("categories", cat2) .. p.get("categories", cat1) elseif not p.isempty(cat3) and not p.isempty(cat2) and not p.isempty(cat1) then cat1 = mw.ustring.lower(cat1) cat2 = mw.ustring.lower(cat2) cat3 = mw.ustring.lower(cat3) return p.formato(p.get("texts", cat1)) .. p.get("categories", cat3) .. p.get("categories", cat2) .. p.get("categories", cat1) elseif not p.isempty(cat2) and not p.isempty(cat1) then cat1 = mw.ustring.lower(cat1) cat2 = mw.ustring.lower(cat2) return p.formato(p.get("texts", cat1)) .. p.get("categories", cat2) .. p.get("categories", cat1) elseif not p.isempty(cat1) then cat1 = mw.ustring.lower(cat1) return p.formato(p.get("texts", cat1)) .. p.get("categories", cat1) else return p.formato(p.get("texts", "default")) .. p.get("categories", "default") end end return p --